Conventional graphics processors are exemplified by systems and methods developed to read and filter texture map sample texels. To simplify texture map filtering performed within a graphics processor, a texture is prefiltered and various resolutions of the prefiltered texture are stored as mip mapped texture maps. Classic mip maps are isotropically filtered, i.e. filtered symmetrically in the horizontal and vertical directions using a square filter pattern. Isotropically filtered mip maps result in high quality images for surfaces when major and minor axes of pixel footprints in texture space are similar in length. However, when an isotropically filtered texture is applied to a receding surface viewed “on edge”, aliasing artifacts (blurring) become apparent to a viewer as the texture is effectively “stretched” in one dimension, along the major axis of anisotropy, as the texture is applied to the surface.
In general, producing a higher-quality image, such as an image produced using anisotropic filtering, requires reading and processing more texels to produce each filtered result. When a cache is used to improve texel read performance, more cache lines are needed to read the texels as the anisotropic ratio increases. Therefore, texture filtering performance decreases as the anisotropic ratio increases and the number of cache lines that needed to be read exceeds the number of cache lines that can be read for a particular cache implementation. Additional clock cycles are required to read texels needed to produce an anisotropically filtered result for a pixel.
Accordingly, there is a need to improve texel read performance for high anisotropic ratios when a texel cache is used.